Method and apparatus for embedding digital information in digital multimedia data

ABSTRACT

A steganographic method is disclosed to embed an invisible watermark into an image. It can be used for copyright protection, content authentication or content annotation. The technique is mainly based on K-L transform. Firstly a block and cluster step  106  and cluster selection step  108  are performed to enhance the optimization of K-L transform  110  for a given image. Then a watermark is embedded  114  into the selected eigen-clusters. ECC (Error Correction Code) can be employed to reduce the embedded code error rate. The proposed method is characterized by robustness despite the degradation or modification on the watermarked content. Furthermore, the method can be extended to video, audio or other multimedia especially for multimedia databases in which the stored multimedia are categorized by their contents or classes.

FIELD OF INVENTION

The present invention relates to a method and apparatus for embeddingdigital information in digital multimedia data. The invention alsorelates to a computer program product including a computer readablemedium having recorded thereon a computer program for embedding digitalinformation in digital multimedia data.

BACKGROUND OF INVENTION

Over recent decades there has been a rapid growth in computers anddigital communications networks. With this growth, the illegaldistribution, duplication and the manipulation of digital or digitisedmultimedia content have become more and more common place. Even thoughsuch activity may violate copyright laws, it is still widespread. Thereis thus a need to protect the rights of owners who own these originalmultimedia data.

Similarly, there has also been a proliferation of exchange of sensitivedata over public communications networks. Recently, digital signatureshave been used to verify and authenticate the integrity of such data andidentity the sender of the data. However there exists a need forinvisible digital signature for images, which adequately represents thecontent of the images and further can be used for verifying whether thesigned images have been modified.

In addition, there has been an associated growth in multimediadatabases. Usually the stored multimedia data needs to be annotated(captioning). If the annotation can be associated with the contentpermanently, it will be convenient and safe for some applications suchas medical image database.

Digital watermarking techniques can be applied to the above-mentionedapplications, namely, for copyright protection, multimedia contentauthentication and multimedia content annotation. Although visiblewatermarks have been previously used, there is much promise forinvisible digital watermarking techniques due to its unobtrusive nature.Regardless of particular applications, the following are the basic andcommon requirements for invisible watermarks. The watermark should beunobtrusive and not annoying to bona-fide users. The watermark schemeshould be robust to some reasonable distortions during storage andtransmission (such as compression, noise addition, format conversion,and bit errors). The watermark scheme should also be robust to someartifacts caused by signal processing operations (such as noisereduction, filtering, sharpening, and colour & intensity variations) Itshould also be secure against typical attacks such as colluding pirateswho combine multiple versions of the same multimedia content that arestamped with different watermarks. Erasing the watermark or replacingthe watermark by another watermark should be technically difficult.

Although these requirements are essential to practical applications, sofar no one method or system is capable of fully satisfying the aboveconditions due to its so many unsolved problems and challenges.

ASPECTS OF INVENTION

It is an object of the present invention to ameliorate one or moredisadvantages of the prior art.

According to one aspect of the invention, there is provided a method ofembedding digital information in digital multimedia data, wherein saidmethod includes the following steps: generating one or more transformsfrom the digital multimedia data or a portion of the digital multimediadata, wherein said transforms are dependent on the digital multimediadata or the portion of the digital multimedia data; generatingtransformed digital multimedia data by applying the one or moretransforms to the digital multimedia data or the portion of the digitalmultimedia data; embedding the digital information in the transformeddigital multimedia data; and generating the digital multimedia dataembedded with the digital information by applying one or more inversetransforms of the one or more transforms to the embedded transformeddigital multimedia data.

According to still another aspect of the invention, there is provided amethod of embedding digital information in digital multimedia data,wherein said method includes the following steps: generating one or moretransforms from the digital multimedia data or a portion of the digitalmultimedia data, wherein said transforms are dependent on the digitalmultimedia data or the portion of the digital multimedia data;generating transformed digital multimedia data by applying the one ormore transforms to the digital multimedia data or the portion of thedigital multimedia data; embedding the digital information in the one ormore transforms or their inverses; and generating the digital multimediadata embedded with the digital information by applying one or moreembedded inverse transforms to the transformed digital multimedia data.

According to still another aspect of the invention, there is provided amethod of embedding digital information in a digital image, wherein saidmethod includes the following steps: partitioning the image into blocksof pixels; clustering the partitioned blocks into classes according to ahomogeneity criteria; selecting one or more of the clusters inaccordance with HVS analysis; generating an associated Karhunen-Loeve(K-L) transform for each selected cluster, wherein the image blocks ofeach selected cluster are used as a vector population for the purposesof generating the associated K-L transform; applying the associated K-Ltransform to the image blocks of the selected cluster to producecorresponding transformed image blocks; embedding, for each selectedcluster, the digital information in the associated K-L transform; andapplying, for each selected cluster, an inverse transform of theembedded associated K-L transform to the transformed image blocks of theselected cluster.

According to still another aspect of the invention, there is provided amethod of embedding digital information in a digital image, wherein saidmethod includes the following steps: partitioning the image into blocksof pixels; clustering the partitioned blocks into classes according to ahomogeneity criteria; selecting one or more of the clusters inaccordance with HVS analysis; generating an associated Karhunen-Loeve(K-L) transform for each selected cluster, wherein the image blocks ofeach selected cluster are used as a vector population for the purposesof generating the associated K-L transform; applying the associated K-Ltransform to the image blocks of the selected cluster to producecorresponding transformed image blocks; embedding, for each selectedcluster, the digital information in the selected transformed imageblocks; applying, for each selected cluster, an inverse transform of theassociated K-L transform to the embedded transform image blocks of theselected cluster.

According to still another aspect of the invention, there is provided amethod of embedding digital information in a digital image, wherein saidmethod includes the following steps: partitioning the image into blocksof pixels; clustering the partitioned blocks into classes according to ahomogeneity criteria; selecting one or more of the clusters inaccordance with HVS analysis; generating an associated Karhunen-Loeve(K-L) transform for each selected cluster, wherein the image blocks ofeach selected cluster are used as a vector population for the purposesof generating the associated K-L transform; applying the associated K-Ltransform to the image blocks of the selected cluster to producecorresponding transformed image blocks; selecting, for each selectedcluster, either the associated K-L transform or its correspondingtransformed image blocks for embedding; embedding, for each selectedcluster, the digital information in the selected K-L transform or theselected transformed image blocks; applying, for those selected clustersin which the digital information has been embedded in the associated K-Ltransform, an inverse transform of the embedded associated K-L transformto the transformed image blocks of the selected cluster; and applying,for those selected clusters in which the digital information has beenembedded in the transformed image blocks, an inverse transform of theassociated K-L transform to the embedded transform image blocks of theselected cluster.

According to still another aspect of the invention, there is provided amethod of embedding digital information in a plurality of images,wherein the images are stored and classified into one or more classesand said method includes the following steps: generating one or moretransforms from the images of said respective one or more classes,wherein said transforms are dependent on the images; generatingtransformed images by applying the one or more transforms to the imagesof said respective one or more classes; embedding the digitalinformation in the transformed images; and generating the images dataembedded with the digital information by applying one or more inversetransforms of the one or more transforms to the embedded transformedimages.

According to still another aspect of the invention, there is provided amethod of embedding digital information in a plurality of images,wherein the images are stored and classified into one or more classesand said method includes the following steps: generating one or moretransforms from the images of said respective one or more classes,wherein said transforms are dependent on the images; generatingtransformed images by applying the one or more transforms to the imagesof said respective one or more classes; embedding the digitalinformation in the one or more transforms or their inverses; andgenerating the images embedded with the digital information by applyingone or more embedded inverse transforms to the transformed images.

According to still another aspect of the invention, there is provided amethod of embedding digital information into video images including aplurality of frames, wherein said method includes the following steps:extracting one or more key frames from the video images; generating oneor more transforms from the key frames or a part thereof, wherein saidtransforms are dependent on the key frames or the part thereof;generating transformed key frames or part thereof by applying the one ormore transforms to the key frames or the part thereof; embedding thedigital information in the transformed key frames or part thereof; andgenerating the key frames or part thereof embedded with the digitalinformation by applying one or more inverse transforms of the one ormore transforms to the embedded key frames or part thereof.

According to still another aspect of the invention, there is provided amethod of embedding digital information into video images including aplurality of frames, wherein said method includes the following steps:extracting one or more key frames from the video images; generating oneor more transforms from the key frames or a part thereof, wherein saidtransforms are dependent on the key frames or the part thereof;generating transformed key frames or part thereof by applying the one ormore transforms to the key frames or the part thereof; embedding thedigital information in the one or more transforms or their inverses; andgenerating the key frames or part thereof embedded with the digitalinformation by applying one or more embedded inverse transforms to thetransformed key frames or part thereof.

According to still another aspect of the invention, there is provided amethod of registering an image, wherein the method includes thefollowing steps: extracting key points from the image and theirinvariant attributes; extracting other global information from theimage; aligning the extracted key points and their invariant attributeswith the global information; and encrypting the aligned information toprovide an image signature.

According to still another aspect of the invention, there is provided amethod of modifying a first image in accordance with an image signature,wherein the image signature includes encrypted key points of a secondimage and their invariant attributes and other aligned globalinformation of the second image and the method includes the steps of:decrypting the image signature to obtain the key points and theirinvariant attributes and other global information of the second image;extracting key points and their invariant attributes from the firstimage; extracting other global information from the first image;matching the key points and their invariant attributes and other globalinformation of the first and second images; and normalising the firstimage based on said matched key points and their invariant attributesand other global information.

According to still another aspect of the invention, there is provided amethod of extracting digital information from first digital multimediadata having embedded therein said digital information, wherein saidmethod includes the following steps: deriving one or more embeddedtransforms from a reference file, wherein said embedded transforms aredependent on second digital multimedia data or a portion thereof;deriving transformed digital multimedia data from the reference file,wherein said transformed digital multimedia data is dependent on thesecond digital multimedia data or a portion thereof; generatingtransformed digital multimedia data by applying one or more of thederived embedded transforms to the first digital multimedia data or aportion thereof; and correlating the generated transformed digitalmultimedia with the derived transformed digital multimedia to checkwhether the digital information embedded in the first multimedia data isthe same as that derived from the reference file.

According to still another aspect of the invention, there is provided amethod of extracting digital information from first digital multimediadata having embedded therein said digital information, wherein saidmethod includes the following steps: deriving one or more transformsfrom a reference file, wherein said transforms are dependent on seconddigital multimedia data or a portion thereof; deriving transformeddigital multimedia data from the reference file, wherein saidtransformed digital multimedia data is dependent on the second digitalmultimedia data or a portion thereof; generating embedded transformeddigital multimedia data by applying one or more of the derived embeddedtransforms to the first digital multimedia data or a portion thereof;and correlating the generated embedded transformed digital multimediawith the derived transformed digital multimedia so as to extract thedigital information.

According to still another aspect of the invention, there is provided amethod of embedding digital information in a digital image, wherein saidmethod includes the following steps: partitioning the image into blocksof pixels; clustering the partitioned blocks into classes according to ahomogeneity criteria; selecting one or more of the clusters inaccordance with HVS analysis; averaging, for each selected cluster, theblocks of pixels; embedding, for each selected cluster, the digitalinformation in the averaged blocks; and replacing, for each selectedcluster, the blocks with the embedded averaged block for that cluster.

According to still another aspect of the invention, there is provided amethod of extracting digital information from an image having embeddedtherein said digital information, wherein said method includes;partitioning the image into blocks of pixels; clustering the partitionedblocks into classes according to a homogeneity criteria; selecting oneor more of the clusters in accordance with information obtained from areference file; retrieving, for each selected cluster, an average blockof pixels stored in the reference file; averaging, for each selectedcluster, the blocks of pixels of the image; and correlating, for eachselected pixel, the averaged blocks of the image with the retrievedblocks to determine whether a watermark exists.

According to still another aspect of the invention, there is provided anapparatus for implementing any one of the aforementioned methods.

According to still another aspect of the invention there is provided acomputer program product including a computer readable medium havingrecorded thereon a computer program for implementing any one of themethods described above.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are described with reference to thedrawings, in which:

FIG. 1 is a flow diagram of a method of embedding a watermark in adigital image in accordance with a preferred embodiment;

FIG. 2 shows a copyright protection system for protecting an owner'swatermarked image in accordance with a preferred embodiment;

FIG. 3 is a flow diagram of a method of generating a reference file thatcan be used for both image registration and for image authentication inaccordance with a preferred embodiment;

FIG. 4 is a flow diagram of a method of extracting a watermark from animage in accordance with a preferred embodiment.

FIG. 5 shows a flow diagram of a method of registering and recovering animage for use in the extraction method shown in FIG. 4;

FIG. 6 is a flow diagram of a method of embedding a watermark in adigital image according to a second preferred embodiment;

FIG. 7 there is shown a watermark extracting method for extracting awatermark embedded in accordance with the method of FIG. 6; and

FIG. 8 is a block diagram of a general-purpose computer for implementingthe preferred methods of FIGS. 1 to 7.

DETAILED DESCRIPTION

The principles of the preferred method described herein have generalapplicability to a method of embedding a digital message within digitalmultimedia content. However, for ease of explanation, the steps of thepreferred method are described with reference to a method of embedding awatermark within a still digital image. Though, it is not intended thatthe present invention be limited to the latter method. For example, theinvention may have application to embedding an identification messagewithin other multimedia content such as video, audio, print or film. Theembedded identification message can also be used for copyrightprotection, content authentication and content annotation withoutdeparting from the scope and spirit of the invention.

First Preferred Embodiment(s)

FIG. 1 is a flow diagram of a method of embedding a watermark in adigital image according to a preferred embodiment. The method commencesat step 100 and any necessary initialisation processes are undertaken.In the next step 102, an original digital image is input by a user forprocessing. The original digital image is a pixel-map representationwhich includes a numerical representation of the particular colour foreach pixel location in a rectangular array. Any numerical representationof colour can be used and can be expressed as a sequence of one or morenumbers. Also, other information may be input at this stage, such asheader information. Such header information can include the size of theimage, resolution etc.

The input original image is then preprocessed in step 104. Thepreprocessing may take the form of filtering, noise estimation and soon. After the preprocessing step 104, the method continues with a blockand clustering step 106.

In the block and clustering step 106, the selected original image isdivided into N non-overlapping blocks of size nxn. Preferably, theseblocks are either 4×4 pixels or 8×8 pixels in size. In the event theoriginal image is not a multiple of the image block size, a portion ofthe original image which is a multiple can be used by the method and theremaining portion disregarded. The block and cluster step 106 allocatesthese image blocks to clusters (sometimes known as classes) according tothe details of the image block content and a homogeneity criteria. Thusthe image blocks within each cluster will have similar amount of andtype of content. Preferably, the clusters are classified according totheir complexity or texture content. This classification is achieved inthe following manner. Firstly, feature measures are extracted from eachimage block which are representative of the complexity of the content.Some preferred feature measures are grey scale, colour variation ortexture measures. Afterwards, the clustering process classifies theimage blocks according to their feature measures. The clustering processpreferably utilises the k-means clustering method. Alternatively, thepreferred method can use region growing, or split-merge clusteringprocesses. In this way, the block and clustering step allocates theimage blocks to a plurality of clusters. After the block and clusteringstep 106 is completed, the processing continues at step 108.

In step 108, a cluster selection process is undertaken. In thisselection process, an analysis based on the Human Vision System (HVS) isapplied to all clusters to determine whether and by how much thewatermark can be embedded. Preferably, those clusters which satisfy theHVS requirements are selected for watermark embedding. The perceptualredundancies inherent in a still image are basically due toinconsistency in the sensitivity of the HVS to stimuli of varying levelsof contrast and luminance changes in the spatial domain. Thus, byutilising the HVS model in the preferred method it is possible to embedmore information while not overall affecting image quality. Or in otherwords, the embedded watermark information is invisible to human eyes. Inthe preferred method, the HVS model is used to select the clusters andthe embedding strength. For example, the embedding strength isdetermined as a proportion of the contrast of the image content of thecluster. Preferably, the HVS model used is that described in the paper“A perceptually tuned subband image coder based on the measure ofJust-Noticeable-Distortion profile” by C. H. Chou and Y. C. Li, IEEETrans. On circuits and Systems for Video Technology, Vol. 5, No. 6,pp467-476, 1995 (herein incorporated by reference). In anotherembodiment, if there are a number of clusters which satisfy these HVSrequirements, then one or more clusters can be selected by the user forembedding. Alternatively, different clusters can be embedded withdifferent watermarks with the same seeds to increase the security androbustness of the watermarking. After the clusters have selected thepreferred method proceeds to the next step 110.

In the next step 110, one or more Karhunen-Loeve transforms (KLT) areapplied to the image blocks of one or more selected clusters. These KLTtransforms are each derived from and applied to a corresponding selectedcluster. It is noted that, up until today, the statistically optimum,signal-dependent transform, KLT is still believed to be impractical forimage processing. This is due to the time-consuming computations neededfor determining the data covariance matrix (related to eigen-vectors).However in the preferred method, this will not be a crucial problem anymore. Firstly, the KLT adopted in the preferred method is the discreteKLT (also called the Principle Components Analysis) where there havebeen some fast implementations developed recently. Secondly, unlikeimage compression or image coding, for watermarking there is no need totransform all blocks or segmented regions in the images. The fastclustering processing associated with the cluster selection step 106allows the reduction of the computational burden to an acceptable andpractical level. Namely, the KLT transforms need not be applied over allthe image, but only to the selected clusters.

In the step 110, a KLT transform is separately derived and applied foreach cluster. Firstly, each non-overlapping block in the i th cluster(segment), i=1, Λ, N, is mapped to a d-dimensional vector X_(ij), whered=3n², by sequentially scanning each location in the block and takingits corresponding tricomponent colour signals. (Note: for monochromeimage, d=n²). Here N denotes the total number of clusters to betransformed. Thus each block in the same cluster can be implicitlymodelled as separate multivariate Gaussian Markov random fields. Thesets of vectors X_(ij) created in this way are assumed to have jointlyzero-mean Gaussion distributions. The d×d covariance matrix R_(i) ofeach such stationary zero-mean Gaussion source, i=1, Λ, N, is estimatedas $\begin{matrix}{R_{i} = {\frac{1}{M_{i}}{\sum\limits_{j = 1}^{M_{i}}\quad {X_{i\quad j}X_{i\quad j}^{T}}}}} & (1)\end{matrix}$

Where M_(i) corresponds to the number of blocks in the ith cluster. Thepreferred method then calculates Eigenvalues of the covariance matrixR_(i) in accordance with

R _(i) e _(ik)=λ_(ik) e _(ik)  (2)

Where e_(ik) is the kth eigenvector (k=1, K, p)of the ith cluster andλ_(ik) is its corresponding eigenvalue. The eigenvectors calculated from(2) are orthonormal, ie.,

e _(ik) ^(T) e _(il)=0  (3)

e _(ik) ^(T) e _(ik)=1  (4)

Subsequently, the eigenvectors are arranged such thatλ_(i1)≧λ_(i2)≧Λ≧λ_(id) and the first L_(i) eigenvectors, where L_(i)≦d,can be used to form the transform matrix A_(i)=[e_(i1) e_(i2) Λ e_(iL)_(i) ]^(T), where d is the dimension of vector X_(ij). Preferablyhowever, all the eigenvectors are used to form the transform matrix, vizL_(i)=d. The reason for the latter is that the preferred method isprimarily concerned with watermarking and not compression. Each vectorX_(ij) from the ith image cluster can then be processed by the lineartransform:

Y _(ij) =A _(i) X _(ij) j=1,K,M _(i)  (5)

After step 110, the preferred method proceeds to the next step 112. Instep 112, a user decides whether the watermark is to be embedded ineither the eigenvector domain A_(i) or the coefficients of vectorsY_(ij). Preferably, the user selects either the eigenvector domain A_(i)or the coefficients of vectors Y_(ij) for the entire image, viz for allclusters. However in another embodiment, the user is able to select theeigenvector domain A_(i) for one cluster and the coefficients of vectorsY_(ij) for another cluster. This will result in benefits in the securityof the watermarking method. In a still further embodiment, the methodautomatically and exclusively embeds the watermark in the eigenvectordomain A_(i). Namely, the selection is automatic and no input from auser is required. Similarly, the method can automatically andexclusively embed the watermark in the coefficients of vectors Y_(ij).In still further embodiment, the actual selection process is dependenton the requirements of the particular application. After step 112, themethod continues processing at step 114.

In step 114, the method embeds the watermark in the selected domain,namely either the eigenvector domain A_(i) or the coefficients ofvectors Y_(ij). In the event the preferred method embeds the noise-likewatermark into the coefficient domain, the following embedding processis performed. A property of the coefficients of the vectors Y_(ij) arethat they are completely uncorrelated, as can be seen from eqn (6).$\begin{matrix}{{E\left\lbrack {Y_{i\quad j}Y_{i\quad j}^{T}} \right\rbrack} = \begin{bmatrix}\lambda_{i1} & 0 & \Lambda & 0 \\0 & \lambda_{i\quad 2} & \Lambda & 0 \\M & M & M & M \\0 & 0 & \Lambda & \lambda_{{iL}_{1}}\end{bmatrix}} & (6)\end{matrix}$

where λ_(i1)≧λ_(i2)≧Λ≧λ_(id) and are the eigenvalues of the covariancematrix R_(i). The preferred method embeds the watermark in the firstL_(i) coefficients of each vector Y_(ij) where

L _(i)=arg max{λ_(ik) _(k) :λ_(ik) ≦D _(i)  (7)

The parameter in (7) represents the allowed distortion within thecluster. Its value will be defined for each cluster separately anddecided by the results of HVS analysis. Thus during this embeddingprocess the vectors Y_(ij) are changed to {tilde over (Y)}_(ij).

In the event the preferred method embeds the noise-like watermark intothe eigenvector domain, the watermark will be embedded into the firstL_(i) eigenvectors of A_(i) in accordance with eqn (7). Thus during thisembedding process the transform A_(i) is changed to Ã_(i). As theeigenvectors of the transform matrix are orthogonal to each other, thegenerated watermark W_(i) should be orthogonalized with respect to theeigenvectors before embedding.

In another embodiment, the transform A_(i) may be first inverted andthen embedded with the watermark.

All the parameters of the selected domain are embedded, by modulatingthe parameters by a noise-like watermark. This modulation is achieved inthe following way

{tilde over (P)}=ƒ(P,PN(W))  (8)

Where ƒ is a function of watermarking modulation, {tilde over (P)} and Pare parameters after and before watermarking, and PN(W) is generatednoise-like watermark.

The content of image itself, the owner's private key of an encryptionalgorithm, embedding time or other information related to the owner orthe buyer can be used to form the seeds of the embedded watermarks.Furthermore error correction encoding can be used to increase therobustness of the preferred method. The preferred method can use any oneof a number of typical methods to embed a watermark (modulation). Asimple example of such a embedding method is as follows

 {tilde over (P)} _(i) =P _(i)+α_(i) P _(i) W _(i)  (9)

After the completion of the watermark embedding step 114, the processcontinues at step 116. In step 116, the respective inverse KLTtransforms are separately applied to their respective clusters. Wherethe watermark has been embedded in the eigenvector domain, the“embedded” inverse KLT transform is applied to the vectors. Thus thewatermarked image blocks are transformed by

{tilde over (X)} _(ij) =Ã _(i) ⁻¹ Y _(ij) j=1,K,M _(i)  (10)

Where the watermark has been embedded in the coefficients of thevectors, the inverse KLT is applied to the embedded vectors. Thus thewatermark image blocks are transformed by

{tilde over (X)} _(ij) =A _(i) ⁻¹ {tilde over (Y)} _(ij) j=1,K,M_(i)  (11)

These resultant image blocks form the basis of the watermarked image. Toretrieve the watermark from the watermark image or to authenticate thewatermark image a reference file is needed. This reference file may bethe original image itself or data based on the original image. Such datacan include the size of the image, the resolution, the clusters selectedand their associated KLT transform, modulation technique and ownerinformation. Consequently, after the original image is preprocessed instep 104, the preferred method stores 122 the original image or thederived data as the reference file. In step 122, the reference file isnormally held in a secure location and maybe encrypted.

After completion of inverse transform KLT 116, the preferred methodcontinues at step 118, where the watermarked image is output. The methodterminates at step 118.

The use of the KLT transform as the watermark embedding domain has thefollowing advantages. Firstly, the KLT transform is a kind ofsignal-dependant transform. That means the watermark to be embedded willfollow any changes of image content. Even if the watermark is the samefor all different images, the real form of the embedded watermark isdifferent. Thus in this sense, the embedded digital watermark isdependent upon the image content and can be used to authenticate animage. Furthermore, whilst the type of transform used to generate theimage may be known, the original watermark cannot be defeated by inversetransforming the watermarked image data to derive the original data,since this involves the use of a different inverse transform. That is,because the watermarked data is different from the original data.Likewise, attempts to fraudulently claim ownership on image data alreadywatermarked by the preferred method will be defeated because a differentoptimal transform dependent upon the watermarked image data will beinvolved. Still further, the KLT transform presents an extra choice toselect the embedding locations either in the eigen-vector domain (basisfunction of KLT transform) or in the coefficient domain of KLTtransform. This means that watermarking based on KLT can be done in amuch secure and flexible way than other methods. In addition, the KLTtransform can provide a more effective energy-compact ability more thanany other transform such as DCT, DST, FFT, etc. As there is significantredundant information contained in an image, applying a KLT transform toan image means that there is more space for embedding the watermark.Also, unlike most of common watermarking schemes which only embed thewatermark into the luminance channel, the KLT transform can directly &jointly process colour images. It presents a flexible way to embed awatermark directly into all colour channels. In addition, the embeddedmessages will persist through image modifications such as scaling,rotating, printing-rescanning, colour & intensity variation.

Turning now to FIG. 2 there is shown a copyright protection system forprotecting an owner's watermarked image in accordance with a preferredembodiment. Firstly, the owner of the image 200 sends his request 201 toa Copyright Management Centre (CMC) 202 for registration. The CMC 202provides the owner of the image 200 with a watermark embedding tool 203to embed his private watermark in his images 205. During this procedure,a reference file 206 is generated and sent to CMC 202. The referencefile 206 is based on a content analysis 207 of the owner's image 205.After watermarking 204, the CMC 202 will activate an Internet Spider 208to protect the owner's watermarked images 210. Of course, there are somany variant applications related to copyright protection, contentauthentication and content annotation. Preferably, the watermarkingengine is that described with reference to FIG. 1, namely thewatermarking engine is based on KLT transforms. This watermarking enginecan be constructed as a kernel and integrated into various copyrightprotection systems either for public use or for private use.

Turning now to FIG. 3, there is shown a flow diagram of a method ofgenerating a reference file that can be used for both image registrationand for image authentication. This method of generating a reference filemay be used in the method of watermarking an image as shown in FIG. 1.The method commences at step 300 and continues at steps 302 and 304where an image is input and preprocessed. In the next step 306, themethod summarises and extracts some key points of the preprocessedimage. These key points must be invariant to some typical modificationssuch as affine distortions, colour or intensity changes etc.Alternatively, some variations of the key points can be allowed byadopting a global affine matching algorithm in the registrationprocedure. Then the invariant attributes are calculated 308. Theseattributes are associated with other relative information such asmaximum and minimum colour values, clusters and the number of clusters,and KLT transform matrices etc. Finally this associated information isencrypted by some cryptography algorithms 310 to form the reference file312. The method terminates at step 314. In this way, the watermarkedimage is registered with reference to the properties of the originalimage, which can be used in the method of extracting the watermark fromthe watermarked image. Alternatively, the reference file can be used forproving whether and by how much the watermarked image has been tamperedwith.

Turning now to FIG. 4, there is shown of a watermark extracting methodin accordance with a preferred embodiment. The method commences at step400, where any necessary parameters are initialised. In the next step402, a watermarked image is input by a user for watermark extraction.Afterwards in step 404, the user then inputs a reference file 403 of theoriginal image and/or associated parameters of the type as previouslydescribed. The watermarked image is then normalised 406 based on theparameters retrieved from the reference file 403. This normalised imageis partitioned into blocks 106 and then clustered 108, in a similarmanner as the watermarking procedure as described with reference to FIG.1. In step 108, any parameters necessary for the selection of theclusters are retrieved from the reference file 403. After step 108, themethod continues with step 408 where the relevant domain is selectedfrom data from the reference file. In the case where the domain selectedis the coefficient domain, the next step 410 applies the transform A_(i)to selected image blocks {tilde over (X)}_(ij) of the test image toobtain the coefficients of vectors {tilde over (Y)}_(ij). The imagesblocks {tilde over (X)}_(ij) of the test image are decided by thereference file or owner's private key. The transform A_(i) is alsoobtained from the reference file. Finally, a correlation 412 isundertaken between the last mentioned coefficients of vectors {tildeover (Y)}_(ij) and the coefficients of vectors Y_(ij) obtained from thereference file and the watermark is extracted. The extracted watermarkis then compared with the watermark obtained from the reference file. Inthe case where the domain selected is the transform domain, the step 410applies the embedded transform Ã_(i) to selected image blocks {tildeover (X)}_(ij) of the test image to obtain the coefficients Y_(ij). Acorrelation 412 is then undertaken between the last mentionedcoefficients of vectors Y_(ij) and the coefficients of vectors Y_(ij)obtained from the reference file so as to check whether there exists awatermark. If the coefficients are the same then the watermark is thesame as was originally embedded. The extracted watermark is then outputin step 418 and the method then terminates.

Turning now to FIG. 5 there is shown a flow diagram of a method ofregistering and recovering an image for use in the extraction methodshown in FIG. 4. As a watermarked image may undergo some modificationsduring it's lifetime, an operation like image registration is used toestimate the modification parameters of the watermarked image. Themethod commences at step 500 and continues at step 502 where awatermarked image is input. The watermarked image is then preprocessed504 and summarised 506 to obtain some key features or points. Once thesekey points are optimally selected, their invariant feature attributesare computed. Meanwhile relative parameters are obtained from thereference file 508 by an information recovering procedure such asdecryption. Such a reference file may be obtained by a method asdescribed with reference to FIG. 3. In the next step, a rule-basedglobal optimal search 510 is undertaken between the obtained invariantfeature attributes of the watermarked image and reference file. Forexample, if some feature points within a neighbour are missed, then achopping operation may be applied onto the watermarked image. Thematching is mainly based on their invariant moments of the detectedfeature points. Based on the estimated parameters, the watermarked imageis the normalised 512 to recover an image similar to the original image.The normalisation method can be that which is described in J. Flusser,“An adaptive method for image registration”, Pattern Recognition, Vol25, No. 1, pp45-54, 1992. The method normalises the tested image byextracting the key content from the tested image, measuring the modifiedparameters of the tested image with reference to the reference file andthen normalising the tested image with respect to these modifiedparameters.

The present invention is suitable for use in a number of different andwidely varying applications, such as the copyright protection system aspreviously described. This system can provide an approach to tracksubsequent use of digital images and then present evidence for copyrightprotection, or alternatively provide a display warning users.

The present invention also can be used for content authentication. Inthis application, after summarising the image, the extracted keydescription about the image can be encrypted by the owner's private key.The buyer can then verify the authenticity of the image by using apublic key. Based on the rule-based image registration method, theresults of the authentication include the information about not onlywhether the given image is altered or not, how much it is altered, butalso which kind of modification the said image undergoes. Theapplication may also inform the owner of the images what kinds ofattacks others have used on his or hers images. A digital signature mayalso be embedded into the image for verifying the authenticity of thecontent provider.

In addition, the present invention also can be used for contentannotation. It is believed that the annotation done by watermarking willbe helpful for multimedia database based on the current technologies.

The present invention is also particularly suitable for watermarking theimages that has been stored in the multimedia database no matter whatkind of applications it is used for (copyright protection,authentication and annotation). As in this case, the image will belongto some classes or categories. For example, a face database in thepolice station, thus a optimal basis matrix of KLT can be obtained basedon the whole images from a class. The images are then embedded in asimilar manner as described with reference to FIG. 1. In this way, it isvery difficult for the users or the attackers to compute out the exactbasis matrix. Without the exact basis matrix, it is unlikely to decodeor to remove the embedded watermark.

Furthermore, the present invention can be used in relation to othermedia such as video and audio. For instance, in a video file, there is astrong relationship between consecutive frames. A technique called keyframe extraction has been shown to be an effective approach to videoindexing or summarising. By applying the KLT to hide the informationdirectly into video file, the optimal basis matrix of the KLT can becomputed out not only based the clustered blocks within each frame butalso based on frames represented by the same key frame. Based on KLT,the data hiding can be implemented in a more secure and flexible way.

Second Preferred Embodiment(s)

FIG. 6 is a flow diagram of a method of embedding a watermark in adigital image according to a preferred embodiment. The method commencesat step 100 and any necessary initialisation processes are undertaken.In the next step 102, an original digital image is input by a user forprocessing. The original digital image is a pixel-map representationwhich includes a numerical representation of the particular colour foreach pixel location in a rectangular array. Any numerical representationof colour can be used and can be expressed as a sequence of one or morenumbers. Also, other information may be input at this stage, such asheader information. Such header information can include the size of theimage, resolution etc. Steps 102 to 108 of this method are the same asthose described with reference to steps 102 to 108 of FIG. 1 and willnot be described further.

In step 602 of the method, the image blocks of each cluster i areaveraged. These averaged blocks are each then embedded 604 with awatermark. An average (mean) block for M_(i) image blocks B_(ij) (j=1,2,. . . M) that belong to cluster i is determined by $\begin{matrix}{{\overset{\_}{B}}_{i} = {\frac{1}{M_{i}}{\sum\limits_{j = 1}^{M_{i}}\quad B_{i\quad j}}}} & (12)\end{matrix}$

and a difference block is obtained by

X _(ij) =B _(ij) −{overscore (B)} _(i)  (13)

The average block can be used to embed the watermark if it satisfies theHVS condition. If there are more than one suitable clusters then theuser can select the cluster used for embedding. The averaging andembedding process is described in more detail below with reference tothe following alternative embodiments.

In the first embodiment, the embedding is achieved by anorthogonalization process. Firstly, the average mean block {overscore(B)}_(i) is aligned as a (n×n)×1 vector. This averaged mean block{overscore (B)}_(i) is saved to a reference file for subsequentwatermark extraction. The initial watermark W_(i) then is orthogonalizedwith respect to {overscore (B)}_(i) to obtain the final watermark W_(ƒ)in accordance with the following:

W _(ƒ) =W _(i)−(W _(i) ·{circumflex over ({overscore (B)})}_(i)){circumflex over ({overscore (B)})} _(i)  (14)

where {circumflex over ({overscore (B)})}_(i) is the unit vector along{overscore (B)}_(i).

Next, a smaller scaled version of W is added back to {overscore (B)}_(i)to obtain a watermarked average block {tilde over ({overscore (B)})}_(i)in accordance with the following:

{tilde over ({overscore (B)})} _(i) ={overscore (B)} _(i) +cW _(ƒ),where c is a small constant to control the strength of thewatermark.  (15)

Finally in step 606, all the image blocks of the cluster are replacedwith the watermarked average block {tilde over ({overscore (B)})}_(i) toreconstruct a new image (watermarked image). The cluster criteria ischosen (108) so that the distortion caused by replacing all the imageblocks within the cluster with the watermarked average block would beinvisible to the human eye.

In the second embodiment, the embedding is achieved by a spread spectrumprocess. In this embodiment, the average mean block {overscore (B)}_(i)is first aligned as a (n×n)×1 vector. The initial watermark W_(i) isshaped to the same n×n length and with gaussian distribution (zero meanvalue). A small scaled version of W_(i) is added back to {overscore(B)}_(i) to obtain a watermarked average block {tilde over ({overscore(B)})}_(i) in accordance with the following:

{tilde over ({overscore (B)})} _(i) ={overscore (B)} _(i)·(1+cW _(ƒ)),where c is a small constant to control the strength of thewatermark.  (16)

Finally in step 606, all the image blocks of the cluster are replacedwith the watermarked average block {tilde over ({overscore (B)})}_(i) toreconstruct a new image (watermarked image). The cluster criteria ischosen (108) so that the distortion caused by replacing all the imageblocks within the cluster with the watermarked average block would beinvisible to the human eye.

After the completion of step 606, the watermarked image is outpoured andthe process terminates at step 610.

Turning now to FIG. 7, there is shown a watermark extracting method forextracting a watermark embedded in accordance with the method of FIG. 6.The method commences at step 700, where any necessary parameters areinitialised. The test image is then input 102, preprocessed 104 andblock and clustered 106 in a similar manner as that of the embeddingmethod of FIG. 6. After completion of step 106, one or more clusters areselected for processing. The clusters selected are determined frominformation stored in the reference file 714. These clusters correspondto those selected in the embedding method. In the next step 706, theaverage mean block {overscore (B)}_(i) is obtained from the referencefile. In this step, the watermark W_(i) is also generated by the owner'skey. The average mean block {overscore (B)}_(i) (from the referencefile) is then aligned as a (n×n)×1 vector. The watermark W_(i) is thenorthogonalised with respect to {overscore (B)}_(i) to obtain theoriginal watermark in accordance with the following:

W _(o) =W _(i)−(W _(i) ·{circumflex over ({overscore (B)})}_(i)){circumflex over ({overscore (B)})} _(i) where

{circumflex over ({overscore (B)})} _(i) is the unit vector along{overscore (B)}_(i).  (17)

Similarly in the next step 708, a watermarked mean block {overscore(J)}_(i) is then obtained from the test image. In the event, thewatermark has been embedded by the orthogonal process, then watermarkedmean block {overscore (J)}_(i) is orthogonalised with respect to{overscore (B)}_(i) to obtain another vector X_(i). Finally in step 710,a correlation is undertaken between W_(i) and X_(i) to check whether thewatermark exists. In the event, the watermark has been embedded by thespread spectrum process, then the DC component of {overscore (J)}_(i) isremoved. In this case a correlation is undertaken between W_(i) and{overscore (J)}_(i) to check whether the watermark exists. After thecorrelation is completed the method terminates at step 712.

In a still further embodiment, the method of embedding and extraction ofthe second preferred embodiment may include a method of registering andrecovering an image as shown in FIGS. 3 and 5. In this way,modifications that may subsequently occur to the embedded image arecompensated by normalisation. In a still further embodiment, the firstand second preferred embodiments may form part of the same watermarkingengine. In the latter embodiment, a user's key is used to select thewatermarking method to be used on a particular image. The user's key isan encrypted random key, which is divided into three parts. The firstpart is used to select the watermarking embedding space (mean block, thetransform or vector coefficients), the second is used to select thewatermark extraction method (eg. de-orthogonalization or correlation)and the third part is used as the seed to generate the initial watermarkW_(i). In addition, the user's key can be used to select the clusterfrom the one or more clusters that meet the HVS criteria.

Preferred Embodiment of Apparatus(s)

The methods of FIGS. 1, 3, 4, 5, 6 and 7 is preferably practiced using aconventional general-purpose computer, such as the one shown in FIG. 8wherein the processes of FIGS. 1, 3, 4, 5, 6 and 7 may be implemented assoftware executing on the computer. In particular, the steps of methodsof embedding and extracting a watermark are effected by instructions inthe software that are carried out by the computer. The software may bedivided into two separate parts; one part for carrying out theextraction and embedding methods; and another part to manage the userinterface between the latter and the user. The software may be stored ina computer readable medium, including the storage devices describedbelow, for example. The software is loaded into the computer from thecomputer readable medium, and then executed by the computer. A computerreadable medium having such software or computer program recorded on itis a computer program product. The use of the computer program productin the computer preferably effects an advantageous apparatus forextracting and embedding a watermark in accordance with the embodimentsof the invention.

The computer system 800 consists of the computer 802, a video display816, and input devices 818, 820. In addition, the computer system 800can have any of a number of other output devices including lineprinters, laser printers, plotters, and other reproduction devicesconnected to the computer 802. The computer system 800 can be connectedto one or more other computers via a communication interface 808 b usingan appropriate communication channel 830 such as a modem communicationspath, a computer network, or the like. The computer network may includea local area network (LAN), a wide area network (WAN), an Intranet,and/or the Internet

The computer 802 itself consists of a central processing unit(s) (simplyreferred to as a processor hereinafter) 804, a memory 806 which mayinclude random access memory (RAM) and read-only memory (ROM),input/output (IO) interfaces 808 a, 808 b & 808 c, a video interface810, and one or more storage devices generally represented by a block812 in FIG. 8. The storage device(s) 812 can consist of one or more ofthe following: a floppy disc, a hard disc drive, a magneto-optical discdrive, CD-ROM, magnetic tape or any other of a number of non-volatilestorage devices well known to those skilled in the art. Each of thecomponents 804 to 812 is typically connected to one or more of the otherdevices via a bus 814 that in turn can consist of data, address, andcontrol buses.

The video interface 810 is connected to the video display 816 andprovides video signals from the computer 802 for display on the videodisplay 816. User input to operate the computer 802 can be provided byone or more input devices 808 b. For example, an operator can use thekeyboard 818 and/or a pointing device such as the mouse 820 to provideinput to the computer 802.

The system 800 is simply provided for illustrative purposes and otherconfigurations can be employed without departing from the scope andspirit of the invention. Exemplary computers on which the embodiment canbe practiced include IBM-PC/ATs or compatibles, one of the Macintosh(TM) family of PCs, Sun Sparcstation (TM), or the like. The foregoingare merely exemplary of the types of computers with which theembodiments of the invention may be practiced. Typically, the processesof the embodiments, described hereinafter, are resident as software or aprogram recorded on a hard disk drive (generally depicted as block 812in FIG. 8) as the computer readable medium, and read and controlledusing the processor 804. Intermediate storage of the program and pixeldata and any data fetched from the network may be accomplished using thesemiconductor memory 806, possibly in concert with the hard disk drive812.

In some instances, the program may be supplied to the user encoded on aCD-ROM or a floppy disk (both generally depicted by block 812 ), oralternatively could be read by the user from the network via a modemdevice connected to the computer, for example. Still further, thesoftware can also be loaded into the computer system 800 from othercomputer readable medium including magnetic tape, a ROM or integratedcircuit, a magneto-optical disk, a radio or infra-red transmissionchannel between the computer and another device, a computer readablecard such as a PCMCIA card, and the Internet and Intranets includingemail transmissions and information recorded on websites and the like.The foregoing are merely exemplary of relevant computer readablemediums. Other computer readable mediums may be practiced withoutdeparting from the scope and spirit of the invention.

The foregoing only describes a small number of embodiments of thepresent invention, however, modifications and/or changes can be madethereto by a person skilled in the art without departing from the scopeand spirit of the invention. For example, signal dependent transformsother than KLT transforms may used in the preferred methods. The presentembodiments are, therefore, to be considered in all respects to beillustrative and not restrictive.

What is claimed is:
 1. A method of embedding digital information indigital multimedia data, wherein said method includes the followingsteps: generating one or more transforms from the digital multimediadata or a portion of the digital multimedia data, wherein saidtransforms are dependent on the digital multimedia data or the portionof the digital multimedia data; generating transformed digitalmultimedia data by applying the one or more transforms to the digitalmultimedia data or the portion of the digital multimedia data; embeddingthe digital information in the transformed digital multimedia data; andgenerating the digital multimedia data embedded with the digitalinformation by applying one or more inverse transforms of the one ormore transforms to the embedded transformed digital multimedia data;wherein said digital multimedia data is an image and said one or moretransforms are Karhunen-Loeve transforms and said digital information isembedded in the first L_(i) coefficients of the transformed digitalmultimedia data, where the number L_(i) is determined in accordance withHVS analysis.
 2. A method as claimed in claim 1, wherein the methodfurther comprises the following steps for selecting said portion of saiddigital multimedia data: partitioning the image into blocks; clusteringthe partitioned blocks into classes according to a homogeneity criteria;and selecting one or more of the clusters as said portion of saiddigital multimedia data in accordance with HVS analysis.
 3. A method asclaimed in claim 2, wherein the selecting step is determined inaccordance with HVS analysis and a user's selection.
 4. A method asclaimed in claim 1, wherein said digital information is a watermark. 5.A method as claimed in claim 1, wherein said method further includes thefollowing step: storing the digital multimedia data as a reference filetogether with associated information.
 6. A method as claimed in claim 1,wherein said method further includes the following steps extractinginvariant representations of the image; storing said extractedrepresentations together with associated information in a referencefile.
 7. A method as claimed in claim 1, wherein said method furtherincludes the following steps extracting key features from said image;and storing the key features together with associated information.
 8. Amethod as claimed in claim 7, wherein said key features include: thepositions of the key features, invariant attributes of the key features,maximum and minimum colour values of the image, the size of the image.9. A method as claimed in claim 1, wherein said digital information is acopyright notice.
 10. A method as claimed in claim 1, wherein saiddigital information is an annotation of said digital multimedia data.11. A method as claimed in claim 1, wherein said digital information isauthentication information verifying said digital multimedia data.
 12. Amethod of embedding digital information in digital multimedia data,wherein said method includes the following steps: generating one or moretransforms from the digital multimedia data or a portion of the digitalmultimedia data, wherein said transforms are dependent on the digitalmultimedia data or the portion of the digital multimedia data;generating transformed digital multimedia data by applying the one ormore transforms to the digital multimedia data or the portion of thedigital multimedia data; embedding the digital information in the one ormore transforms or their inverses; and generating the digital multimediadata embedded with the digital information by applying one or moreembedded inverse transforms to the transformed digital multimedia data.13. A method as claimed in claim 12, wherein said digital multimediadata is an image.
 14. A method as claimed in claim 12, wherein themethod further comprises the following steps for selecting said portionof said digital multimedia data: partitioning the image into blocks;clustering the partitioned blocks into classes according to ahomogeneity criteria; and selecting one or more of the clusters as saidportion of said digital multimedia data in accordance with HVS analysis.15. A method as claimed in claim 14, wherein the selecting step isdetermined in accordance with HVS analysis and a user's selection.
 16. Amethod as claimed in claim 12, wherein said transform is aKarhunen-Loeve transform.
 17. A method as claimed in claim 12, whereinsaid digital multimedia data is an image and said one or more transformsare Karhunen-Loeve transforms and said digital information is embeddedin the first L_(i)eigenvectors of the Karhunen-Loeve transforms, wherethe number L_(i) is determined in accordance with HVS analysis.
 18. Amethod as claimed in claim 12, wherein said digital information is awatermark.
 19. A method as claimed in claim 12, wherein said methodfurther includes the following step: storing the digital multimedia dataas a reference file together with associated information.
 20. A methodas claimed in claim 13, wherein said method further includes thefollowing steps extracting invariant representations of the image;storing said extracted representations together with associatedinformation in a reference file.
 21. A method as claimed in claim 13,wherein said method further includes the following steps extracting keyfeatures from said image; and storing the key features together withassociated information.
 22. A method as claimed in claim 21, whereinsaid key features include: the positions of the key features, invariantattributes of the key features, colour values of the key features,maximum and minimum colour values of the image, the size of the image.23. A method as claimed in claim 12, wherein said digital information isa copyright notice.
 24. A method as claimed in claim 12, wherein saiddigital information is an annotation of said digital multimedia data.25. A method as claimed in claim 12, wherein said digital information isauthentication information verifying said digital multimedia data.
 26. Amethod of embedding digital information in a digital image, wherein saidmethod includes the following steps: partitioning the image into blocksof pixels; clustering the partitioned blocks into classes according to ahomogeneity criteria; selecting one or more of the clusters inaccordance with HVS analysis; generating an associated Karhunen-Loeve(K-L) transform for each selected cluster, wherein the image blocks ofeach selected cluster are used as a vector population for the purposesof generating the associated K-L transform; applying the associated K-Ltransform to the image blocks of the selected cluster to producecorresponding transformed image blocks; embedding, for each selectedcluster, the digital information in the associated K-L transform; andapplying, for each selected cluster, an inverse transform of theembedded associated K-L transform to the transformed image blocks of theselected cluster.
 27. A method as claimed in claim 26, wherein saiddigital information is embedded in the first L_(i) eigenvectors of theKarhunen-Loeve transforms, where the number L_(i) is determined inaccordance with HVS analysis.
 28. A method as claimed in claim 26,wherein said digital information is a noise-like watermark.
 29. A methodas claimed in claim 26, wherein the selecting step is determined inaccordance with HVS analysis and a user's selection.
 30. A method ofembedding digital information in a digital image, wherein said methodincludes the following steps: partitioning the image into blocks ofpixels; clustering the partitioned blocks into classes according to ahomogeneity criteria; selecting one or more of the clusters inaccordance with HVS analysis; generating an associated Karhunen-Loeve(K-L) transform for each selected cluster, wherein the image blocks ofeach selected cluster are used as a vector population for the purposesof generating the associated K-L transform; applying the associated K-Ltransform to the image blocks of the selected cluster to producecorresponding transformed image blocks; embedding, for each selectedcluster, the digital information in the selected transformed imageblocks; and applying, for each selected cluster, an inverse transform ofthe associated K-L transform to the embedded transform image blocks ofthe selected cluster.
 31. A method as claimed in claim 30, wherein saiddigital information is embedded in the first L_(i) coefficients of thetransformed image blocks, where the number L_(i) is determined inaccordance with HVS analysis.
 32. A method as claimed in claim 30,wherein said digital information is a noise-like watermark.
 33. A methodas claimed in claim 30, wherein the selecting step is determined inaccordance with HVS analysis and a user's selection.
 34. A method ofembedding digital information in a digital image, wherein said methodincludes the following steps: partitioning the image into blocks ofpixels; clustering the partitioned blocks into classes according to ahomogeneity criteria; selecting one or more of the clusters inaccordance with HVS analysis; generating an associated Karhunen-Loeve(K-L) transform for each selected cluster, wherein the image blocks ofeach selected cluster are used as a vector population for the purposesof generating the associated K-L transform; applying the associated K-Ltransform to the image blocks of the selected cluster to producecorresponding transformed image blocks; selecting, for each selectedcluster, either the associated K-L transform or its correspondingtransformed image blocks for embedding; embedding, for each selectedcluster, the digital information in the selected K-L transform or theselected transformed image blocks; applying, for those selected clustersin which the digital information has been embedded in the associated K-Ltransform, an inverse transform of the embedded associated K-L transformto the transformed image blocks of the selected cluster; and applying,for those selected clusters in which the digital information has beenembedded in the transformed image blocks, an inverse transform of theassociated K-L transform to the embedded transform image blocks of theselected cluster.
 35. A method as claimed in claim 34, wherein saiddigital information is embedded in the first L_(i) eigenvectors of theKarhunen-Loeve transforms, where the number L_(i) is determined inaccordance with HVS analysis.
 36. A method as claimed in claim 34,wherein said digital information is embedded in the first L_(i)coefficients of the transformed image blocks, where the number L_(i) isdetermined in accordance with HVS analysis.
 37. A method as claimed inclaim 34, wherein said digital information is a noise-like watermark.38. A method as claimed in claim 34, wherein the selecting step isdetermined in accordance with HVS analysis and a user's selection.
 39. Amethod of embedding digital information in a plurality of images,wherein the images are stored and classified into one or more classesand said method includes the following steps: generating one or moretransforms from the images of said respective one or more classes,wherein said transforms are dependent on the images; generatingtransformed images by applying the one or more transforms to the imagesof said respective one or more classes; embedding the digitalinformation in the transformed images; and generating the images dataembedded with the digital information by applying one or more inversetransforms of the one or more transforms to the embedded transformedimages; wherein said one or more transforms are Karhunen-Loevetransforms and said digital information is embedded in the first L_(i)coefficients of the transformed digital multimedia data, where thenumber L_(i) is determined in accordance with HVS analysis.
 40. A methodof embedding digital information in a plurality of images, wherein theimages are stored and classified into one or more classes and saidmethod includes the following steps: generating one or more transformsfrom the images of said respective one or more classes, wherein saidtransforms are dependent on the images; generating transformed images byapplying the one or more transforms to the images of said respective oneor more classes; embedding the digital information in the one or moretransforms or their inverses; and generating the images embedded withthe digital information by applying one or more embedded inversetransforms to the transformed images.
 41. A method of embedding digitalinformation into video images including a plurality of frames, whereinsaid method includes the following steps: extracting one or more keyframes from the video images; generating one or more transforms from thekey frames or a part thereof, wherein said transforms are dependent onthe key frames or the part thereof; generating transformed key frames orpart thereof by applying the one or more transforms to the key frames orthe part thereof; embedding the digital information in the transformedkey frames or part thereof; and generating the key frames or partthereof embedded with the digital information by applying one or moreinverse transforms of the one or more transforms to the embedded keyframes or part thereof; wherein said one or more transforms areKarhunen-Loeve transforms and said digital information is embedded inthe first L_(i) coefficients of the transformed digital multimedia data,where the number L_(i) is determined in accordance with HVS analysis.42. A method of embedding digital information into video imagesincluding a plurality of frames, wherein said method includes thefollowing steps: extracting one or more key frames from the videoimages; generating one or more transforms from the key frames or a partthereof, wherein said transforms are dependent on the key frames or thepart thereof; generating transformed key frames or part thereof byapplying the one or more transforms to the key frames or the partthereof; embedding the digital information in the one or more transformsor their inverses; and generating the key frames or part thereofembedded with the digital information by applying one or more embeddedinverse transforms to the transformed key frames or part thereof.
 43. Amethod of modifying a first image in accordance with an image signature,wherein the image signature includes encrypted key points of a secondimage and their invariant attributes and other aligned globalinformation of the second image and the method includes the steps of:decrypting the image signature to obtain the key points and theirinvariant attributes and other global information of the second image;extracting key points and their invariant attributes from the firstimage; extracting other global information from the first image;matching the key points and their invariant attributes and other globalinformation of the first and second images; and normalising the firstimage based on said matched key points and their invariant attributesand other global information.
 44. An apparatus for embedding digitalinformation in digital multimedia data, wherein said apparatus includes:means for generating one or more transforms from the digital multimediadata or a portion of the digital multimedia data, wherein saidtransforms are dependent on the digital multimedia data or the portionof the digital multimedia data; means for generating transformed digitalmultimedia data by applying the one or more transforms to the digitalmultimedia data or the portion of the digital multimedia data; means forembedding the digital information in the transformed digital multimediadata; and means for generating the digital multimedia data embedded withthe digital information by applying one or more inverse transforms ofthe one or more transforms to the embedded transformed digitalmultimedia data wherein said digital multimedia data is an image andsaid one or more transforms are Karhunen-Loeve transforms and saiddigital information is embedded in the first L_(i) coefficients of thetransformed digital multimedia data, where the number L_(i) isdetermined in accordance with HVS analysis.
 45. An apparatus forembedding digital information in digital multimedia data, wherein saidapparatus includes: means for generating one or more transforms from thedigital multimedia data or a portion of the digital multimedia data,wherein said transforms are dependent on the digital multimedia data orthe portion of the digital multimedia data; means for generatingtransformed digital multimedia data by applying the one or moretransforms to the digital multimedia data or the portion of the digitalmultimedia data; means for embedding the digital information in the oneor more transforms or their inverses; and means for generating thedigital multimedia data embedded with the digital information byapplying one or more embedded inverse transforms to the transformeddigital multimedia data.
 46. An apparatus for embedding digitalinformation in a digital image, wherein said apparatus includes: meansfor partitioning the image into blocks of pixels; means for clusteringthe partitioned blocks into classes according to a homogeneity criteria;means for selecting one or more of the clusters in accordance with HVSanalysis; means for generating an associated Karhunen-Loeve (K-L)transform for each selected cluster, wherein the image blocks of eachselected cluster are used as a vector population for the purposes ofgenerating the associated K-L transform; means for applying theassociated K-L transform to the image blocks of the selected cluster toproduce corresponding transformed image blocks.
 47. An apparatus forembedding digital information in a digital image, wherein said apparatusincludes: means for partitioning the image into blocks of pixels; meansfor clustering the partitioned blocks into classes according to ahomogeneity criteria; means for selecting one or more of the clusters inaccordance with HVS analysis; means for generating an associatedKarhunen-Loeve (K-L) transform for each selected cluster, wherein theimage blocks of each selected cluster are used as a vector populationfor the purposes of generating the associated K-L transform; means forapplying the associated K-L transform to the image blocks of theselected cluster to produce corresponding transformed image blocks;means for embedding, for each selected cluster, the digital informationin the selected transformed image blocks; and means for applying, foreach selected cluster, an inverse transform of the associated K-Ltransform to the embedded transform image blocks of the selectedcluster.
 48. An apparatus for embedding digital information in a digitalimage, wherein said apparatus includes: means for partitioning the imageinto blocks of pixels; means for clustering the partitioned blocks intoclasses according to a homogeneity criteria; means for selecting one ormore of the clusters in accordance with HVS analysis; means forgenerating an associated Karhunen-Loeve (K-L) transform for eachselected cluster, wherein the image blocks of each selected cluster areused as a vector population for the purposes of generating theassociated K-L transform; means for applying the associated K-Ltransform to the image blocks of the selected cluster to producecorresponding transformed image blocks; means for selecting, for eachselected cluster, either the associated K-L transform or itscorresponding transformed image blocks for embedding; means forembedding, for each selected cluster, the digital information in theselected K-L transform or the selected transformed image blocks; meansfor applying, for those selected clusters in which the digitalinformation has been embedded in the associated K-L transform, aninverse transform of the embedded associated K-L transform to thetransformed image blocks of the selected cluster; and means forapplying, for those selected clusters in which the digital informationhas been embedded in the transformed image blocks, an inverse transformof the associated K-L transform to the embedded transform image blocksof the selected cluster.
 49. An apparatus for embedding digitalinformation in a plurality of images, wherein the images are stored andclassified into one or more classes and said apparatus includes: meansfor generating one or more transforms from the images of said respectiveone or more classes, wherein said transforms are dependent on theimages; means for generating transformed images by applying the one ormore transforms to the images of said respective one or more classes;means for embedding the digital information in the one or moretransforms or their inverses; and means for generating the imagesembedded with the digital information by applying one or more embeddedinverse transforms to the transformed images.
 50. An apparatus forembedding digital information into video images including a plurality offrames, wherein said apparatus includes: means for extracting one ormore key frames from the video images; means for generating one or moretransforms from the key frames or a part thereof, wherein saidtransforms are dependent on the key frames or the part thereof; meansfor generating transformed key frames or part thereof by applying theone or more transforms to the key frames or the part thereof; means forembedding the digital information in the transformed key frames or partthereof; and means for generating the key frames or part thereofembedded with the digital information by applying one or more inversetransforms of the one or more transforms to the embedded key frames orpart thereof; wherein said one or more transforms are Karhunen-Loevetransforms and said digital information is embedded in the first L_(i)coefficients of the transformed digital multimedia data, where thenumber L_(i) is determined in accordance with HVS analysis.
 51. Anapparatus for embedding digital information into video images includinga plurality of frames, wherein said apparatus includes: means forextracting one or more key frames from the video images; means forgenerating one or more transforms from the key frames or a part thereof,wherein said transforms are dependent on the key frames or the partthereof; means for generating transformed key frames or part thereof byapplying the one or more transforms to the key frames or the partthereof; means for embedding the digital information in the one or moretransforms or their inverses; and means for generating the key frames orpart thereof embedded with the digital information by applying one ormore embedded inverse transforms to the transformed key frames or partthereof.
 52. An apparatus for modifying a first image in accordance withan image signature, wherein the image signature includes encrypted keypoints of a second image and their invariant attributes and otheraligned global information of the second image and the apparatusincludes: means for decrypting the image signature to obtain the keypoints and their invariant attributes and other global information ofthe second image; means for extracting key points and their invariantattributes from the first image; means for extracting other globalinformation from the first image; means for matching the key points andtheir invariant attributes and other global information of the first andsecond images; and means for normalising the first image based on saidmatched key points and their invariant attributes and other globalinformation.
 53. A computer program product including a computerreadable medium having recorded thereon a computer program for embeddingdigital information in digital multimedia data, wherein said computerprogram product includes: means for generating one or more transformsfrom the digital multimedia data or a portion of the digital multimediadata, wherein said transforms are dependent on the digital multimediadata or the portion of the digital multimedia data; means for generatingtransformed digital multimedia data by applying the one or moretransforms to the digital multimedia data or the portion of the digitalmultimedia data; means for embedding the digital information in thetransformed digital multimedia data; and means for generating thedigital multimedia data embedded with the digital information byapplying one or more inverse transforms of the one or more transforms tothe embedded transformed digital multimedia data; wherein said digitalmultimedia data is an image and said one or more transforms areKarhunen-Loeve transforms and said digital information is embedded inthe first L_(i) coefficients of the transformed digital multimedia data,where the number L_(i) is determined in accordance with HVS analysis.54. A computer program product including a computer readable mediumhaving recorded thereon a computer program for embedding digitalinformation in digital multimedia data, wherein said computer programproduct includes: means for generating one or more transforms from thedigital multimedia data or a portion of the digital multimedia data,wherein said transforms are dependent on the digital multimedia data orthe portion of the digital multimedia data; means for generatingtransformed digital multimedia data by applying the one or moretransforms to the digital multimedia data or the portion of the digitalmultimedia data; means for embedding the digital information in the oneor more transforms or their inverses; and means for generating thedigital multimedia data embedded with the digital information byapplying one or more embedded inverse transforms to the transformeddigital multimedia data.
 55. A computer program product including acomputer readable medium having recorded thereon a computer program forembedding digital information in a digital image, wherein said computerprogram product includes: means for partitioning the image into blocksof pixels; means for clustering the partitioned blocks into classesaccording to a homogeneity criteria; means for selecting one or more ofthe clusters in accordance with HVS analysis; means for generating anassociated Karhunen-Loeve (K-L) transform for each selected cluster,wherein the image blocks of each selected cluster are used as a vectorpopulation for the purposes of generating the associated K-L transform;means for applying the associated K-L transform to the image blocks ofthe selected cluster to produce corresponding transformed image blocks;means for embedding, for each selected cluster, the digital informationin the associated K-L transform; and means for applying, for eachselected cluster, an inverse transform of the embedded associated K-Ltransform to the transformed image blocks of the selected cluster.
 56. Acomputer program product including a computer readable medium havingrecorded thereon a computer program for embedding digital information ina digital image, wherein said computer program product includes: meansfor partitioning the image into blocks of pixels; means for clusteringthe partitioned blocks into classes according to a homogeneity criteria;means for selecting one or more of the clusters in accordance with HVSanalysis; means for generating an associated Karhunen-Loeve (K-L)transform for each selected cluster, wherein the image blocks of eachselected cluster are used as a vector population for the purposes ofgenerating the associated K-L transform; means for applying theassociated K-L transform to the image blocks of the selected cluster toproduce corresponding transformed image blocks; means for embedding, foreach selected cluster, the digital information in the selectedtransformed image blocks; and means for applying, for each selectedcluster, an inverse transform of the associated K-L transform to theembedded transform image blocks of the selected cluster.
 57. A computerprogram product including a computer readable medium having recordedthereon a computer program for embedding digital information in adigital image, wherein said computer program product includes: means forpartitioning the image into blocks of pixels; means for clustering thepartitioned blocks into classes according to a homogeneity criteria;means for selecting one or more of the clusters in accordance with HVSanalysis; means for generating an associated Karhunen-Loeve (K-L)transform for each selected cluster, wherein the image blocks of eachselected cluster are used as a vector population for the purposes ofgenerating the associated K-L transform; means for applying theassociated K-L transform to the image blocks of the selected cluster toproduce corresponding transformed image blocks; means for selecting, foreach selected cluster, either the associated K-L transform or itscorresponding transformed image blocks for embedding; means forembedding, for each selected cluster, the digital information in theselected K-L transform or the selected transformed image blocks; meansfor applying, for those selected clusters in which the digitalinformation has been embedded in the associated K-L transform, aninverse transform of the embedded associated K-L transform to thetransformed image blocks of the selected cluster; and means forapplying, for those selected clusters in which the digital informationhas been embedded in the transformed image blocks, an inverse transformof the associated K-L transform to the embedded transform image blocksof the selected cluster.
 58. A computer program product including acomputer readable medium having recorded thereon a computer program forembedding digital information in a plurality of images, wherein theimages are stored and classified into one or more classes and saidcomputer program product includes: means for generating one or moretransforms from the images of said respective one or more classes,wherein said transforms are dependent on the images; means forgenerating transformed images by applying the one or more transforms tothe images of said respective one or more classes; means for embeddingthe digital information in the one or more transforms or their inverses;and means for generating the images embedded with the digitalinformation by applying one or more embedded inverse transforms to thetransformed images.
 59. A computer program product including a computerreadable medium having recorded thereon a computer program for embeddingdigital information into video images including a plurality of frames,wherein said computer program product includes: means for extracting oneor more key frames from the video images; means for generating one ormore transforms from the key frames or a part thereof, wherein saidtransforms are dependent on the key frames or the part thereof; meansfor generating transformed key frames or part thereof by applying theone or more transforms to the key frames or the part thereof; means forembedding the digital information in the transformed key frames or partthereof; and means for generating the key frames or part thereofembedded with the digital information by applying one or more inversetransforms of the one or more transforms to the embedded key frames orpart thereof; wherein said one or more transforms are Karhunen-Loevetransforms and said digital information is embedded in the first L_(i)coefficients of the transformed digital multimedia data, where thenumber L_(i) is determined in accordance with HVS analysis.
 60. Acomputer program product including a computer readable medium havingrecorded thereon a computer program for embedding digital informationinto video images including a plurality of frames, wherein said computerprogram product includes: means for extracting one or more key framesfrom the video images; means for generating one or more transforms fromthe key frames or a part thereof, wherein said transforms are dependenton the key frames or the part thereof; means for generating transformedkey frames or part thereof by applying the one or more transforms to thekey frames or the part thereof; means for embedding the digitalinformation in the one or more transforms or their inverses; and meansfor generating the key frames or part thereof embedded with the digitalinformation by applying one or more embedded inverse transforms to thetransformed key frames or part thereof.
 61. A computer program productincluding a computer readable medium having recorded thereon a computerprogram for modifying a first image in accordance with an imagesignature, wherein the image signature includes encrypted key points ofa second image and their invariant attributes and other aligned globalinformation of the second image and the computer program productincludes: means for decrypting the image signature to obtain the keypoints and their invariant attributes and other global information ofthe second image; means for extracting key points and their invariantattributes from the first image; means for extracting other globalinformation from the first image; means for matching the key points andtheir invariant attributes and other global information of the first andsecond images; and means for normalizing the first image based on saidmatched key points and their invariant attributes and other globalinformation.
 62. A method as claimed in claim 34, further comprisingregistering the image including the following steps: extracting keypoints from the image and their invariant attributes; extracting otherglobal information from the image; aligning the extracted key points andtheir invariant attributes with the global information; and encryptingthe aligned information to provide an image signature.
 63. An apparatusas claimed in claim 48, further comprising means for registering theimage including: means for extricating key points from the image andtheir invariant attributes; means for extracting other globalinformation from the image; means for aligning the extracted key pointsand their invariant attributes with the global information; means forencrypting the aligned information to provide an image signature.
 64. Acomputer program product as claimed in claim 56, in which the computerprogram registers the image and includes: means for extracting keypoints from the image and their invariant attributes; means forextracting other global information from the image; means for aligningthe extracted key points and their invariant attributes with the globalinformation; means for encrypting the aligned information to provide animage signature.
 65. A method as claimed in claim 39, further comprisingmodifying a first image in accordance with an image signature, whereinthe image signature includes encrypted key points of a second image andtheir invariant attributes and other aligned global information of thesecond image, wherein said modifying the first image includes the stepsof: decrypting the image signature to obtain the key points and theirinvariant attributes and other global information of the second image;extracting key points and their invariant attributes from the firstimage; extracting other global information from the first image;matching the key points and their invariant attributes and other globalinformation of the first and second images; and normalising the firstimage based on said matched key points and their invariant attributesand other global information.
 66. An apparatus as claimed in claim 49,further comprising means for modifying a first image in accordance withan image signature, wherein the image signature includes encrypted keypoints of a second image and their invariant attributes and otheraligned global information of the second image, said means for modifyingincluding: means for decrypting the image signature to obtain the keypoints and their invariant attributes and other global information ofthe second image; means for extracting key points and their invariantattributes from the first image; means for extracting other globalinformation from the first image; means for matching the key points andtheir invariant attributes and other global information from the firstimage; and means for normalising the first image based on said matchedkey points and their invariant attributes and other global information.67. A computer program product as claimed in claim 60, including: meansfor modifying the image in accordance with the image signature; whereinthe image signature includes encrypted key points of a second image andtheir invariant attributes and other aligned global information of thesecond image, said means for modifying including: means for decryptingthe image signature to obtain the key points and their invariantattributes and other global information of the second image; means forextracting key points and their invariant attributes from the firstimage; means for extracting other global information from the firstimage; means for matching the key points and their invariant attributesand other global information of the first image based on said matchedkey points and their invariant attributes and other global information.68. A method as claimed in claim 12, further comprising: extractingdigital information from first digital multimedia data having embeddedtherein said digital information including the following steps: derivingone or more embedded transforms from a reference file, wherein saidembedded transforms are dependent on second digital multimedia data or aportion thereof; deriving transformed digital multimedia data from thereference file, wherein said transformed digital multimedia data isdependent on the second digital multimedia data or a portion thereof;generating transformed digital multimedia data by applying one or moreof the derived embedded transforms to the first digital multimedia dataor a portion thereof; and correlating the generated transformed digitalmultimedia with the derived transformed digital multimedia to checkwhether the digital information embedded in the first multimedia data isthe same as that derived from the reference file.
 69. A method asclaimed in claim 12, further comprising extracting digital informationfrom first digital multimedia data having embedded therein said digitalinformation, including the following steps: deriving one or moretransforms from a reference file, wherein said transforms are dependenton second digital multimedia data or a portion thereof; derivingtransformed digital multimedia data from the reference file, whereinsaid transformed digital multimedia data is dependent on the seconddigital multimedia data or a portion thereof; generating embeddedtransformed digital multimedia data by applying one or more of thederived embedded transforms to the first digital multimedia data or aportion thereof; and correlating the generated embedded transformeddigital multimedia with the derived transformed digital multimedia so asto extract the digital information.
 70. An apparatus as claimed in claim49, further comprising means for extracting digital information fromfirst digital multimedia data having embedded therein said digitalinformation, including: means for deriving one or more embeddedtransforms from a reference file, wherein said embedded transforms aredependent on second digital multimedia data or a portion thereof; meansfor deriving transformed digital multimedia data from the referencefile, wherein said transformed digital multimedia data is dependent onthe second digital multimedia data or a portion thereof; means forgenerating transformed digital multimedia data by applying one or moreof the derived embedded transforms to the first digital multimedia dataor a portion thereof; and means for correlating the generatedtransformed digital multimedia with the derived transformed digitalmultimedia to check whether the digital information embedded in thefirst multimedia data is the same as that derived from the referencefile.
 71. A computer program product as claimed in claim 60, includingmeans extracting digital information from first digital multimedia datahaving embedded therein said digital information, including: means forderiving one or more embedded transforms from a reference file, whereinsaid embedded transforms are dependent on second digital multimedia dataor a portion thereof; means for deriving transformed digital multimediadata from the reference file, wherein said transformed digitalmultimedia data is dependent on the second digital multimedia data or aportion thereof; means for generating transformed digital multimediadata by applying one or more of the derived embedded transforms to thefirst digital multimedia data or a portion thereof; and means forcorrelating the generated transformed digital multimedia with thederived transformed digital multimedia to check whether the digitalinformation embedded in the first multimedia data is the same as thatderived from the reference file, having embedded therein said digitalinformation, wherein said computer program product includes: means forpartitioning the image into blocks of pixels; means for clustering thepartitioned blocks into classes according to a homogeneity criteria;means for selecting one or more of the clusters in accordance withinformation obtained from a reference file; means for retrieving, foreach selected cluster, an average block of pixels stored in thereference file; means for averaging, for each selected cluster, theblocks of pixels of the image; and means for correlating, for eachselected pixel, the averaged blocks of the image with the retrievedblocks to determine whether a watermark exists.
 72. A method ofembedding digital information in a plurality of images, wherein theimages are stored and classified into one or more classes and saidmethod includes the following steps: generating one or more transformsfrom the images of said respective one or more classes, wherein saidtransforms are dependent on the images; generating transformed images byapplying the one or more transforms to the images of said respective oneor more classes; embedding the digital information in the transformedimages; generating the images data embedded with the digital informationby applying one or more inverse transforms of the one or more transformsto the embedded transformed images; and modifying a first image inaccordance with an image signature, wherein the image signature includesencrypted key points of a second image and their invariant attributesand other aligned global information of the second image, wherein saidmodifying the first image includes the steps of: decrypting the imagesignature to obtain the key points and their invariant attributes andother global information of the second image; extracting key points andtheir invariant attributes from the first image; extracting other globalinformation from the first image; matching the key points and theirinvariant attributes and other global information of the first andsecond images; and normalising the first image based on said matched keypoints and their invariant attributes and other global information.